#ifndef GAMEOBJECT_H
#define GAMEOBJECT_H

#include <SFML/Graphics.hpp>
#include "asciisprite.h"

class BaseObject
{
public:
	~BaseObject() {};

	void setSymbol(char symbol);
	void setPosition(sf::Vector2<float> position);
	void draw(sf::RenderWindow& context);
	void setSolid(bool solid);

protected:
	BaseObject();

	char mSymbol;
	sf::Vector2<float> mPosition;
	bool mSolid;
	sf::Color mColour;

private:
	AsciiSpriteManager mASM;
};

class Door : public BaseObject
{
public:
	Door();
	~Door() {};

private:
};

class Wall : public BaseObject
{
public:
	Wall();
	~Wall() {}

private:
};

class Dirt : public BaseObject
{
public:
	Dirt();
	~Dirt() {}

private:
};

#endif // GAMEOBJECT_H